/*============================================================================*/
/*                   CONTINENTAL AUTOMOTIVE SYSTEMS                           */
/*============================================================================*/
/*                        OBJECT SPECIFICATION                                */
/*============================================================================*
* name:            APPWinLif.c
* version:         1.1
* created_by:      Lizette Acosta/Rodrigo Casados
* date_created:    June 22 2013
*=============================================================================*/
/* DESCRIPTION : APP file for Window Lifter.                                  */
/*============================================================================*/
/* FUNCTION COMMENT :                                                         */
/*                                                                            */
/*============================================================================*/
/*                               OBJECT HISTORY                               */
/*============================================================================*/
/*  REVISION |   DATE      |                               |      AUTHOR      */
/*----------------------------------------------------------------------------*/
/*  1.1      | 22/June/2013 |                              | Lizette Acosta   */
/*                                                           Rodrigo Casados  */
/*============================================================================*/

#include "MPC5606B.h"
#include "stdtypedef.h"
#include "sysinit.h"
#include "HWInit.h"
#include "APPWinLif.h"
#include "HALStateMachines.h"

//static T_UWORD *ptrToPinchFlag;
static T_UBYTE slub_PinchFlag;			/* Definition of Pinch Flag*/
static T_UBYTE slub_OneTouchFlag;		/* Definition of OneTouch Flag*/


/*============================================================================*/
/*                            WindowLifter                                    */
/*============================================================================*/
void WindowLifter(void)
{
	static e_APPStateMachine sle_APPOperationMode = REGULAR_MODE;
	
	vfn_OperationModeDetection(&sle_APPOperationMode);
	
	switch(sle_APPOperationMode)
	{
		case PINCH_MODE_DETECTED:
			vfn_PinchMode(&slub_PinchFlag);
		break;
		
		case ONETOUCH_DETECTED:
			vfn_OneTouchFeature();
		break;
		
		case REGULAR_MODE:
			vfn_RegularWinLif(TO_DEFINE);
		break;
		
		default:
		break;
	}
	
	
}


/*============================================================================*/
/*                        vfn_OperationModeDetection                          */
/*============================================================================*/
void vfn_OperationModeDetection(e_APPStateMachine *e_ptr_APPOperationMode)
{
	if (slub_PinchFlag)
	{
		*e_ptr_APPOperationMode = PINCH_MODE_DETECTED;
	}
	
	else if(slub_OneTouchFlag)
	{
		*e_ptr_APPOperationMode = ONETOUCH_DETECTED;
	}
	
	else
	{
		*e_ptr_APPOperationMode = REGULAR_MODE;
	}
}
